<?php
require_once('SRDO.class.php');

// Register a field type
SRDO::type('PK_INT', 	'INT(10) UNSIGNED NOT NULL AUTO_INCREMENT', 
						'INT(10) UNSIGNED NOT NULL DEFAULT 0' );
/** ---- TYPES ---- */

SRDO::type('DT',		"DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00'");
SRDO::type('TXT',		'TEXT NOT NULL');

SRDO::type('KEY_8',		'CHAR(8) NOT NULL UNIQUE',
						'CHAR(8) NOT NULL');
SRDO::type('KEY_32',	'CHAR(32) NOT NULL UNIQUE',
						'CHAR(32) NOT NULL');
SRDO::type('KEY_V32',	'VARCHAR(32) NOT NULL UNIQUE',
						'VARCHAR(32) NOT NULL');
SRDO::type('KEY_V64',	'VARCHAR(64) NOT NULL UNIQUE',
						'VARCHAR(64) NOT NULL');

SRDO::type('V16',		'VARCHAR(16) NOT NULL');
SRDO::type('V64',		'VARCHAR(64) NOT NULL');
SRDO::type('TXT',		'TEXT NOT NULL');

SRDO::type('PERCENT',	"DOUBLE(7,4) NOT NULL DEFAULT '0.0000'");

SRDO::type('FULL_NAME',	'VARCHAR(64) NOT NULL');
SRDO::type('FIRST_NAME', 				'VARCHAR(32) NOT NULL');
SRDO::type('LAST_NAME',					'VARCHAR(32) NOT NULL');
SRDO::type('NAME',						'VARCHAR(64) NOT NULL');

SRDO::type('CUR',			'INT(11)');
SRDO::type('CUR_US',		"DECIMAL(6,2) NOT NULL DEFAULT '0.00'");
SRDO::type('CUR_CONV',		'DOUBLE(7,5) NOT NULL');
SRDO::type('CUR_SYMB',		"CHAR(1) NOT NULL DEFAULT '\$'");

SRDO::type('ADDR_ATTN',		'VARCHAR(48) NOT NULL');
SRDO::type('ADDR_STREET',				'VARCHAR(48) NOT NULL');
SRDO::type('ADDR_CITY',					'VARCHAR(48) NOT NULL');
SRDO::type('ADDR_STATE',					'CHAR(2) NOT NULL');
SRDO::type('ADDR_PROVINCE',				'VARCHAR(32) NOT NULL');
SRDO::type('ADDR_ST_PV',					'VARCHAR(32) NOT NULL');
SRDO::type('ADDR_POSTAL',				'VARCHAR(10) NOT NULL');
SRDO::type('ADDR_COUNTRY',				'CHAR(2) NOT NULL');

SRDO::type('TITLE',						'VARCHAR(48) NOT NULL');
SRDO::type('COMPANY',					'VARCHAR(48) NOT NULL');
SRDO::type('ORGANIZATION',				'VARCHAR(48) NOT NULL');

SRDO::type('EMAIL',				'VARCHAR(128) NOT NULL');

SRDO::type('PHONE',						'VARCHAR(14) NOT NULL');
SRDO::type('PHONE_EXT',					'VARCHAR(6) NOT NULL');
SRDO::type('TYPE',						'VARCHAR(32) NOT NULL');

SRDO::type('URL',						'VARCHAR(255) NOT NULL');

SRDO::type('HEADLINE',					'VARCHAR(128) NOT NULL');
SRDO::type('BYLINE',						'VARCHAR(255) NOT NULL');
SRDO::type('CAPTION',					'VARCHAR(255) NOT NULL');
SRDO::type('MEMO',						'TEXT NOT NULL');
SRDO::type('BODY',						'MEDIUMTEXT NOT NULL');
SRDO::type('ARTICLE',					'LONGTEXT NOT NULL');

SRDO::type('QTY',						"MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '1'");
SRDO::type('SORT_ORDER',					"TINYINT(3) UNSIGNED NOT NULL DEFAULT '0'");
SRDO::type('ITEM',						'VARCHAR(16) NOT NULL');
SRDO::type('DESCRIPTION',				'VARCHAR(255) NOT NULL');
SRDO::type('DESCRIPTION_MEMO',			'TEXT NOT NULL');
SRDO::type('OPTIONS',					'VARCHAR(255) NOT NULL');

SRDO::type('USERNAME',					'VARCHAR(64) NOT NULL UNIQUE',
																'VARCHAR(64) NOT NULL');
SRDO::type('PASSWORD',					'VARCHAR(64) NOT NULL');

SRDO::type('FILE',						'VARCHAR(128) NOT NULL');
SRDO::type('PATH',						'VARCHAR(255) NOT NULL');



require_once('config.php');
// Create a connection for the database
$dbh = new PDO( PDO_DSN, PDO_USER, PDO_PASS );

// Create a new database object
$oDB = new SRDO_Database( 'db24651_srdo', $dbh );

$oT = &$oDB->T('sample');
	$oT->PK('sample_id', 'PK_INT');
	
$oT = &$oDB->T('account');
	$oT->PK('account_id', 	'PK_INT');
	$oT->F('account_key', 	'KEY_32');
	$oT->F('account_name', 	'V64');
	
$oT = &$oDB->T('account_entry');
	$oT->PK('account_item_id', 'PK_INT');
	$oT->FK('account');
	$oT->F('entry_date',		'DT');
	$oT->F('reconcile_date',	'DT');
	$oT->F('transaction_id',	'V16');
	$oT->F('description', 		'V64');
	$oT->F('credit',			'CUR');
	$oT->F('debit',				'CUR');

SRDO::validate();
